package com.zx.framework.plat.startup;

import java.util.ArrayList;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.annotation.Resource;

import org.springframework.stereotype.Component;

import com.zx.framework.core.env.IMenuPosition;
import com.zx.framework.core.util.StringUtil;
import com.zx.framework.plat.module.po.Module;
import com.zx.framework.plat.module.service.ModuleService;
import com.zx.framework.web.util.UriCache;

/**
 * 项目启动需要加载的数据
 * @author Administrator
 *
 */
@Component
public class StartupConfig {
	
	@Resource
	private ModuleService moduleService;
	/**
	 * 加载模块的缓存，默认为数据库加载
	 */
	public void loadModules(){
		List<Module> modules = moduleService.findAll("layer");
		List<String> urls = new ArrayList<String>();
		for (Module module : modules) {
			if(StringUtil.isNotEmpty(module.getUrl())
					&& IMenuPosition.MENU_PLATFORM_WEB.equals(module.getPlatform())){
				if(module.getUrl().indexOf("http://")!=-1){
					urls.add(module.getUrl());
				}
				else{
					urls.add("/"+module.getUrl());
				}
			}
		}
		UriCache.refresh(urls);
	}
	/**
	 * 初始化
	 */
	@PostConstruct
	public void init(){
		loadModules();
	}
}
